package com.ruoyi.oa.service;

import com.ruoyi.oa.domain.OaHumanDepart;
import com.ruoyi.oa.domain.vo.OaHumanDepartVo;
import com.ruoyi.oa.domain.bo.OaHumanDepartBo;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.core.domain.PageQuery;

import java.util.Collection;
import java.util.List;

/**
 * 离职申请Service接口
 *
 * @author ruoyi
 * @date 2023-07-02
 */
public interface IOaHumanDepartService {

    /**
     * 查询离职申请
     */
    OaHumanDepartVo queryById(String id);

    /**
     * 查询离职申请列表
     */
    TableDataInfo<OaHumanDepartVo> queryPageList(OaHumanDepartBo bo, PageQuery pageQuery);

    /**
     * 查询离职申请列表
     */
    List<OaHumanDepartVo> queryList(OaHumanDepartBo bo);

    /**
     * 新增离职申请
     */
     OaHumanDepartBo insertByBo(OaHumanDepartBo bo);

    /**
     * 修改离职申请
     */
    OaHumanDepart updateByBo(OaHumanDepartBo bo);

    /**
     * 校验并批量删除离职申请信息
     */
    Boolean deleteWithValidByIds(Collection<String> ids, Boolean isValid);

    /**
     * 离职成功调用方法
     * @param id
     */
    public void departFinish(String id);
}
